<template>
    <div class="good-list">
        <!-- <router-link class="goods-item" v-for="item in GoodsList" :key="item.id" tag="div" :to="'GoodsInfo/'+item.id">
            为了解决后端数据中的图片消失
            <img :src="item.img_url" alt=""> 
            <img src="https://img14.360buyimg.com/n0/jfs/t1/167947/12/3767/410434/600a913eEb4d8aed3/ca4066beded5e04a.png" alt="">
            <h1 class="title">{{ item.title }}</h1>
            <div class="info">
                <p class="price">
                    <span class="now">￥{{ item.sell_price }}</span>
                    <span class="old">￥{{ item.market_price }}</span>
                </p>
                <p class="sell">
                    <span>热卖中</span>
                    <span>剩{{ item.stock_quantity }}件</span>
                </p>
            </div>
        </router-link> -->

        <!-- 在网页中，有两种跳转方式： -->
        <!-- 方式1： 使用 a 标签 的形式，叫做 标签跳转  -->
        <!-- 方式2： 使用 window.location.href 的形式，叫做 编程式导航 -->
        <div class="goods-item" v-for="item in GoodsList" :key="item.id" @click="goDetail(item.id)">
            <!-- 为了解决后端数据中的图片消失 -->
            <!-- <img :src="item.img_url" alt=""> -->
            <img src="https://img14.360buyimg.com/n0/jfs/t1/167947/12/3767/410434/600a913eEb4d8aed3/ca4066beded5e04a.png" alt="">
            <h1 class="title">{{ item.title }}</h1>
            <div class="info">
                <p class="price">
                    <span class="now">￥{{ item.sell_price }}</span>
                    <span class="old">￥{{ item.market_price }}</span>
                </p>
                <p class="sell">
                    <span>热卖中</span>
                    <span>剩{{ item.stock_quantity }}件</span>
                </p>
            </div>
        </div>

        <mt-button type="danger" size="large" @click="getMore">加载更多</mt-button>
    </div>
</template>

<script>
import { Toast } from 'mint-ui';

export default {
    // data 是往自己组件内部，挂在一些私有数据的
    data(){
        return {
            GoodsList: [], // 存储 所有 商品列表的 数组
            pageindex: 1,  // 分页页数，默认展示第一页
        }
    },
    created(){
        this.getGoodsList();
    },
    methods: {
        getGoodsList(){
            this.$http.get('api/getgoods?pageindex='+ this.pageindex).then( result => {
                if(result.body.status === 0){
                    // 获取数据成功
                    // this.GoodsList = result.body.message;
                    // 与之前的商品 连接起来 
                    this.GoodsList = this.GoodsList.concat(result.body.message);
                }else{
                    // 获取数据失败
                    Toast('获取商品数据失败');
                }
            });
        },
        goDetail(id){
            // 使用JS的形式进行路由导航

            // 注意： 一定要区分 this.$route 和 this.$router 这两个对象，
            // 其中： this.$route 是路由【参数对象】，所有路由中的参数， params, query 都属于它
            // 其中： this.$router 是一个路由【导航对象】，用它 可以方便的 使用 JS 代码，实现路由的 前进、后退、 跳转到新的 URL 地址

            console.log(this);
            // 1. 最简单的
            // this.$router.push("/home/GoodsInfo/" + id);
            // 2. 传递对象
            // this.$router.push({ path: "/home/GoodsInfo/" + id });
            // 3. 传递命名的路由，在 router.js 中的 对应组件起一个名字
            this.$router.push({ name: "GoodsInfo", params: { id } });
        },
        getMore(){
            this.pageindex++;
            this.getGoodsList();
        }
    },
}
</script>

<style scoped>
.good-list{
    display: flex; /* 让其显示在一行 */
    flex-wrap: wrap; /* 让其换行 */
    /* overflow: hidden; */
    padding: 7px;
    justify-content: space-between;
}
.goods-item{
    /* float: left; */
    width: 49%;
    border: 1px solid #ccc;
    box-shadow: 0 0 8px #ccc;
    margin: 3px 0;
    padding: 1px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 293px;
}
.goods-item img{
    width: 100%;
    height: 235px;
}

.title{
    font-size: 14px;
    line-height: 16px;
    margin: 0px;
    padding:0px 3px;
}

.info{
    background-color: #eee;
}

.info p{
    margin: 0px;
    padding: 5px;
}

.now{
    color: red;
    font-weight: bold;
    font-size: 16px;
}

.old{
    text-decoration: line-through;
    font-size: 14px;
    margin: 10px;
}

.sell{
    display: flex;
    justify-content: space-between;
    font-size: 12px;
}

</style>